package com.y2.authprj.dao.auth;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.y2.authprj.bean.auth.model.FunctionauthorityInfo;
import com.y2.authprj.bean.auth.model.StaffInfo;


public interface IFunctionauthorityDao {
	/**
	 * 查询全部资源权限信息
	 * @return
	 */
	public List<FunctionauthorityInfo> findAll();
	/**
	 * 添加资源
	 * @param sysrole 资源对象
	 */
	public int addFunctionauthority(FunctionauthorityInfo sysrole);
	
	/**
	 * 删除指定的资源，物理删除
	 * @param id 资源标识
	 * @return
	 */
	public int deleteFunctionauthority(int id);
	
	
	
	/**
	 * 根据父节点查找对应的资源对象
	 * @param parentId
	 * @return
	 */
	public List<FunctionauthorityInfo> findAllByParentId(Integer parentId);
	
	/**
	 * 根据资源名称查询资源
	 * @param name
	 * @return
	 */
	public List<FunctionauthorityInfo> findAllByName(@Param(value="name") String name);

	/**
	 * 添加是检查同一个父节点下面的资源名称,值是否有相同
	 * @param functionauthorityInfo
	 * @return
	 */
	public int findAllByParentIdAndName(FunctionauthorityInfo functionauthorityInfo);

	//分页
	List<FunctionauthorityInfo> queryByChose(FunctionauthorityInfo functionauthorityInfo);
	
	
	
	/**
	 * 根据用户名查找的ID进行3表联查，返回一个数值类型的集合
	 * @return
	 */
	public List<Integer> findFunctionauthorityIdByStaffId(@Param(value="staffId") int staffId);
}
